$(function () {
    //data数据操作对象
    var $obj = {};

    /**
     * 切换vip图片类型
     */
    $(".imgUrl").off('click').on('click',function () {
        $(".imgUrl").parent("span").find("i").addClass("hidden");
        $(".imgUrl").parent("span").find("i").remove();
        $(".imgUrl").parent("span").find("img").attr("is_check",0);
        $(this).parent("span").find("i").removeClass("hidden");
        $(this).parent("span").find("img").attr("is_check",1);
        var html = '<i class="layui-icon center-align center-success" style="font-size: 50px; color: #008006;">&#x1005;</i>';
        $(this).append(html);
        //存入imgUrl
        $imgUrl = $(this).parent("span").find("img").attr("src");
        //将imgUrl存入obj
        //$.data(obj,"imgUrl",$imgUrl);
    });

    /**
     * 选择设置vip图案类型
     */
    $('.selectImg').off('click').on('click',function () {
        //is_img 0自定义图案  1 默认图案
        $('.selectImg').attr("checked",false);
        $(this).attr("checked",true);
        $(this).prop("checked",true);
        var is_img = $("input[name='selectImg']:checked").val();
        //将is_img存入obj
        $.data(obj,"is_img",is_img);
        operation(is_img);
    });
    $('.is_img').on('click', function(){
        var is_img = $(this).val();
        if(is_img == 1){
            $("#topMemberType").show();
            $("#btn-uploader").hide();
        }else{
            $("#topMemberType").hide();
            $("#btn-uploader").show();
        }
    });

    /**
     * vip开通条件设置
     */
    $(".openCondition").off('click').on('click',function () {
        //开通条件 0 消费开通 1充值开通 2无条件开通
        $(".openCondition").attr("checked",false);
        $(this).attr("checked",true);
        $(this).prop("checked",true);
        var openCondition = $("input[name='openCondition']:checked").val();
        //将openCondition存入obj
        $.data(obj,"openCondition",openCondition);

        if(openCondition == 0){
            //当前选择为消费开通设置充值金额为空
            $(".rechargeMoney").val("");
        }else if(openCondition == 1){
            //当前选择为充值开通设置消费金额为空
            $(".consumptionMoney").val("");
        }else{
            //当前选择为无条件开通设置充值金额和消费金额为空
            $(".rechargeMoney").val("");
            $(".consumptionMoney").val("");
        }
        //consumptionMoney  消费金额
        //rechargeMoney   充值金额
    });

    /**
     * 设置会员卡使用期限
     */
    $(".endTime").off('click').on('click',function(){
        //会员卡使用期限  0无限期 1有限期
        $(".endTime").attr("checked",false);
        $(this).attr("checked",true);
        $(this).prop("checked",true);
        //获取当前选中期限类型值
        var endTime = $("input[name='endTime']:checked").val();
        $.data(obj,"endTime",endTime);
        if(endTime == 0){
            //当前选择期限为无限期时 清楚有限期使用期限值
            $(".term").val("");
        }
    });

    /**
     * 有限期单位控制
     */
    $(".years").off('change').on('change',function(){
        //years  1年  2月
        var $_thisval = $(this).val();
        $(this).find("option[value!="+$_thisval+"]").attr("selected",false);
        $(this).find("option[value="+$_thisval+"]").attr("selected",true);
        var endTime = $.data(obj,"endTime");
        //获取当前有限期单位名称
        var yearsName = yearsNameFilter(endTime);
        if(endTime == 1){
            $.data(obj,"years",$_thisval);//年为单位
        }else {
            $.data(obj,"years",2);        //月为单位
        }
        $.data(obj,"yearsName",yearsName);
    });

    if($('#uploader').length > 0){
        // 七牛token
        getTokenMessageForImg();
    }
});


function operation(is_img) {
    if(is_img == 0){
        $(".defaultImage").show();
        $(".updateImg").addClass("hidden");
    }else{
        $(".updateImg").removeClass("hidden");
        $(".defaultImage").hide();
    }
}

function checkPrice(){
    var flag = true;
    $.ajax({
        url : check_url,
        type : 'POST',
        dataType : 'json',
        contentType:"application/json; charset=utf-8",
        async: false
    }).done(function(data) {
        //console.log(data);
        if(!data) {
            layer.msg('有商品会员价为0，请修改');
        }
        flag = data;
    });
    return flag;
}

var flag = true;
function getTokenMessageForImg() {
    if(flag == false){
        return false;
    }
    flag = false;
    var url="";
    var qiniupercent = "";
    var uploader = "btn-uploader";
    var pickfiles = "uploader";
    var token_url = TOKEN_URL; //获取qiniuyuntoken地址
    $.ajax({
        url: token_url,
        type: 'POST',
        data: {},
        cache: false,
        contentType: false,    //不可缺
        processData: false,    //不可缺
        dataType : 'json',
        success: function (data) {
            obj = data;
            uploaderReadyForImg(obj.uptoken,url,qiniupercent,uploader,pickfiles);
        }
    });
}

function uploaderReadyForImg(token,url,qiniupercent,uploader,pickfiles){
    var uploaderForUditor = Qiniu.uploader({
        runtimes: 'html5,flash,html4',
        browse_button: pickfiles,     //上传按钮的ID
        container: uploader,      //上传按钮的上级元素ID
        drop_element: uploader,
        max_file_size: '500kb',         //最大文件限制
        flash_swf_url: '@{/assets/global/qiniu/Moxie.swf}',
        dragdrop: false,
        chunk_size: '4mb',              //分块大小
        //uptoken_url: '',              //Ajax请求upToken的Url，**强烈建议设置**（服务端提供）
        uptoken: token,                 //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
        // save_key: true,              // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`，则开启，SDK在前端将不对key进行任何处理
        domain: qiniuConfig.returnUrl(),   //自己的七牛云存储空间域名
        multi_selection: false,         //是否允许同时选择多文件
        filters: {
            mime_types: [               //文件类型过滤，这里限制为图片类型
                {title: "Image files", extensions: "jpg,jpeg,gif,png"}
            ]
        },
        auto_start: true,
        unique_names :true,             //自动生成文件名,如果值为false则保留原文件名上传
        init: {
            'FilesAdded': function (up, files) {
                plupload.each(files, function(file) {
                    // 文件添加进队列后，处理相关的事情
                });
            },
            'BeforeUpload': function (up, file) {
                // 每个文件上传前，处理相关的事情
            },
            'UploadProgress': function (up, file) {
                //文件上传时，处理相关的事情
                //console.log(file.percent + "%");
            },
            'UploadComplete': function () {
                //do something
            },
            'FileUploaded': function (up, file, info) {
                //每个文件上传成功后,处理相关的事情,并记录到数据库
                //其中 info 是文件上传成功后，服务端返回的json，形式如
                //{
                //  "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
                //  "key": "gogopher.jpg"
                //}
                console.log(11);
                var domain = up.getOption('domain');
                var res = eval('(' + info.response + ')');
                var sourceLink = domain + res.key;//获取上传文件的链接地址
                console.log(sourceLink);
                $.ajax({
                    url: RECORD_URL,
                    type: 'POST',
                    data: {
                        'imgUrl': sourceLink
                    },
                    cache: false,
                    dataType: 'json',
                    success: function (data) {
                        if (data.code === '1') {
                            /*var $item = '';
                            $item += '<span class="margin-left imgUrl">';
                            $item += '<img class="" src="'+sourceLink+'" data-image-id="" style="width: 80px;height: 80px;" />';
                            $item += '</span>';
                            $('#btn-uploader').find('.defaultImage').append($item);*/
                            $('#uploader').empty().html('<img class="" src="'+sourceLink+'" style="width: 100px;height: 100px;" />');
                        }
                    }
                });

                flag = true;
                return true;
            },
            'Error': function (up, err, errTip) {
                layer.msg(errTip);
            }
        }

    });
    // uploaderForUditor.start();
    return true;
}

// 表单提交
$('#save').click(function() {
    $(".imgUrl").each(function () {
        if($(this).parent("span").find("img").attr('is_check') == 1){
            $imgUrl = $(this).parent("span").find("img").attr("src");
            $("#selectImg").val($imgUrl);
        }
    });

    var _data = $("#modal_new_role").serializeObject();
    if (!mdTool.validate(_data.memType, 'require')) {
        mdTool.showMessage('请输入会员类型名称');
        $("#memType").focus();
        return false;
    }
    if (_data.memType.length > 12) {
        mdTool.showMessage('会员类型名称最多为12个字符');
        $("#memType").focus();
        return false;
    }

    var is_img = $('input[name=is_img]:checked').val();
    if(is_img == 1){
        if (!mdTool.validate(_data.selectImg, 'require')) {
            mdTool.showMessage('请选择会员卡图案');
            return false;
        }
    }else{
        var img = $('#uploader').find('img').length;
        if (img < 1) {
            mdTool.showMessage('请上传会员卡图案');
            return false;
        }else{
            var imgUrl = $('#uploader').find('img').attr('src');
            //$("#selectImg").val(imgUrl);
            _data.selectImg = imgUrl;
        }
    }

    if(_data.openStatus == 1){
        if(!mdTool.validate(_data.rechargeOpenMoney,'require')){
            mdTool.showMessage('请输入充值金额');
            $("#rechargeOpenMoney").focus();
            return false;
        }
        if(!mdTool.validate(_data.rechargeOpenMoney,'two') || _data.rechargeOpenMoney == 0){
            mdTool.showMessage('充值金额应大于0，且小数点后只有两位');
            $("#rechargeOpenMoney").focus();
            return false;
        }
        if(_data.returnMoney){
            if(!mdTool.validate(_data.returnMoney,'two') || _data.returnMoney == 0){
                mdTool.showMessage('返还金额应大于0，且小数点后只有两位');
                $("#returnMoney").focus();
                return false;
            }
        }
        if(_data.rechargeIntegral){
            if(!mdTool.validate(_data.rechargeIntegral,'num')){
                mdTool.showMessage('赠送积分为非零的正整数');
                $("#rechargeIntegral").focus();
                return false;
            }
        }
    }else if(_data.openStatus == 2){
        _data.rechargeOpenMoney = '';
        _data.returnMoney = '';
        _data.rechargeIntegral = '';
    }else{
        //
    }
    if(_data.openStatus == 0){
        if(!mdTool.validate(_data.consumptionMoney,'require')){
            mdTool.showMessage('请输入消费金额');
            $("#consumeOpenMoney").focus();
            return false;
        }
    }
    if(_data.isIndefinite ==1){
        if(!mdTool.validate(_data.term,'require')){
            mdTool.showMessage('请输入会员期限');
            $('.term').focus();
            return false;
        }
        if(!mdTool.validate(_data.term,'num')){
            mdTool.showMessage('会员期限为非零的正整数');
            $('.term').focus();
            return false;
        }
        if(_data.timetype == 1){
            if(_data.term > 50){
                mdTool.showMessage('会员期限最多为50年');
                $('.term').focus();
                return false;
            }
        }else{
            if(_data.term > 600){
                mdTool.showMessage('会员期限最多为50年，即600个月');
                $('.term').focus();
                return false;
            }
        }
    }
    if(_data.isMemBerShop ==1){
        if(!mdTool.validate(_data.memberDiscounts,'require')){
            mdTool.showMessage('请输入会员折扣');
            $('.memberDiscounts').focus();
            return false;
        }
        reg = /^\d+(?:\.\d{1})?$/;
        if(_data.memberDiscounts>0 && _data.memberDiscounts<10){
            if(!reg.test(_data.memberDiscounts)){
                mdTool.showMessage('会员折扣大于0小于10，且只能有一位小数');
                $('.memberDiscounts').focus();
                return false;
            }
        }else{
            mdTool.showMessage('会员折扣大于0小于10，且只能有一位小数');
            $('.memberDiscounts').focus();
            return false;
        }
    }
    if(_data.tempPointStatus == 1){
        if(_data.consumeMoney == ''){
            mdTool.showMessage('请输入消费的金额');
            $('#consumeMoney').focus();
            return false;
        }
        if(!mdTool.validate(_data.consumeMoney,'two') || _data.consumeMoney == 0){
            mdTool.showMessage('消费的金额应大于0，且小数点后只有两位');
            $("#consumeMoney").focus();
            return false;
        }
        if(_data.consumeIntegral == ''){
            mdTool.showMessage('请输入积分');
            $('#consumeIntegral').focus();
            return false;
        }
        if(!mdTool.validate(_data.consumeIntegral,'num')){
            mdTool.showMessage('积分为非零的正整数');
            $("#consumeIntegral").focus();
            return false;
        }
    }

    mdTool.showMessage('');
    $.ajax({
        url :add_url,
        type : 'POST',
        dataType : 'json',
        contentType:"application/json; charset=utf-8",
        data : JSON.stringify(_data),
    }).done(function(data) {
        if(data.status == '0') {
            layer.msg(data.message);
        } else if(data.status == '1'){
            mdTool.showMessage('保存成功');
            location.href = index_url;
        }
    });
});

$(".defaultImage").click(function () {
   var img = $(this).find('img').attr('src');
   $("#selectImg").val(img);
});

// 删除 / 启用 / 禁用
$('.handle-btn').on('click', function(e){
    var _this = $(this);
    var url = $(this).attr('href');
    var text = '是否要执行此操作？';
    var title = '请确认';
    var confirmBtn = '确定';
    var cancelBtn = '取消';
    e.preventDefault();
    layer.confirm(
        text,
        {
            title: title,
            btn: [confirmBtn, cancelBtn]
        },
        function(index){
            layer.close(index);
            $.ajax({
                type: 'get',
                url: url,
                data: '',
                dataType: 'json',
                success: function (data) {
                    if(data.status == 1){
                        layer.msg(data.msg);
                        window.location.reload();
                    }else{
                        layer.msg(data.msg, {icon: 6, time: 1000});
                    }
                }
            });
            return false;
        }
    );
});

/**
 * @param yearsVal
 * @returns {string}
 * yearsNameFilter
 * 获取当前有限期限单位名称
 */
function yearsNameFilter(yearsVal) {
    if(yearsVal ==1){
        return "年";
    }else{
        return "月";
    }
}